package com.best.oasis.settlement.web.action.base;

import java.util.List;

import com.best.oasis.settlement.common.entity.base.BaseEntity;
import com.best.oasis.settlement.util.page.BasePageSO;
import com.best.oasis.settlement.util.page.PageList;

public interface BaseAction<VO, T extends BaseEntity> {

    public VO get(Long id);

    public VO create(VO vo);

    public VO update(VO vo);

    public void remove(Long id);

    public void remove(List<Long> ids);

    public boolean exists(Long id);

    public PageList<VO> getPageList(BasePageSO so);

    public List<VO> getAll();

    public List<VO> getAll(BasePageSO so);

    public VO getBy(String fieldName, Object value);

    public List<VO> getByIds(List<Long> ids);

    public List<VO> getListBy(String fieldName, Object value);

}
